/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package TableBean;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author Hector
 */
@Entity
@Table(name = "avance_recurso_actividad")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "AvanceRecursoActividad.findAll", query = "SELECT a FROM AvanceRecursoActividad a"),
    @NamedQuery(name = "AvanceRecursoActividad.findByIdAvanceRecursoActividad", query = "SELECT a FROM AvanceRecursoActividad a WHERE a.idAvanceRecursoActividad = :idAvanceRecursoActividad"),
    @NamedQuery(name = "AvanceRecursoActividad.findByPorcentaje", query = "SELECT a FROM AvanceRecursoActividad a WHERE a.porcentaje = :porcentaje"),
    @NamedQuery(name = "AvanceRecursoActividad.findByFechaActualizacion", query = "SELECT a FROM AvanceRecursoActividad a WHERE a.fechaActualizacion = :fechaActualizacion")})
public class AvanceRecursoActividad implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Column(name = "id_avance_recurso_actividad")
    private Integer idAvanceRecursoActividad;
    @Basic(optional = false)
    @NotNull
    @Column(name = "porcentaje")
    private int porcentaje;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fecha_actualizacion")
    @Temporal(TemporalType.DATE)
    private Date fechaActualizacion;
    @JoinColumn(name = "id_usuario_actualizacion", referencedColumnName = "id_usuario")
    @ManyToOne(optional = false)
    private Usuario idUsuarioActualizacion;
    @JoinColumns({
        @JoinColumn(name = "id_recurso", referencedColumnName = "id_recurso"),
        @JoinColumn(name = "id_actividad", referencedColumnName = "id_actividad")})
    @ManyToOne(optional = false)
    private RecursoActividad recursoActividad;

    public AvanceRecursoActividad() {
    }

    public AvanceRecursoActividad(Integer idAvanceRecursoActividad) {
        this.idAvanceRecursoActividad = idAvanceRecursoActividad;
    }

    public AvanceRecursoActividad(Integer idAvanceRecursoActividad, int porcentaje, Date fechaActualizacion) {
        this.idAvanceRecursoActividad = idAvanceRecursoActividad;
        this.porcentaje = porcentaje;
        this.fechaActualizacion = fechaActualizacion;
    }

    public Integer getIdAvanceRecursoActividad() {
        return idAvanceRecursoActividad;
    }

    public void setIdAvanceRecursoActividad(Integer idAvanceRecursoActividad) {
        this.idAvanceRecursoActividad = idAvanceRecursoActividad;
    }

    public int getPorcentaje() {
        return porcentaje;
    }

    public void setPorcentaje(int porcentaje) {
        this.porcentaje = porcentaje;
    }

    public Date getFechaActualizacion() {
        return fechaActualizacion;
    }

    public void setFechaActualizacion(Date fechaActualizacion) {
        this.fechaActualizacion = fechaActualizacion;
    }

    public Usuario getIdUsuarioActualizacion() {
        return idUsuarioActualizacion;
    }

    public void setIdUsuarioActualizacion(Usuario idUsuarioActualizacion) {
        this.idUsuarioActualizacion = idUsuarioActualizacion;
    }

    public RecursoActividad getRecursoActividad() {
        return recursoActividad;
    }

    public void setRecursoActividad(RecursoActividad recursoActividad) {
        this.recursoActividad = recursoActividad;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idAvanceRecursoActividad != null ? idAvanceRecursoActividad.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof AvanceRecursoActividad)) {
            return false;
        }
        AvanceRecursoActividad other = (AvanceRecursoActividad) object;
        if ((this.idAvanceRecursoActividad == null && other.idAvanceRecursoActividad != null) || (this.idAvanceRecursoActividad != null && !this.idAvanceRecursoActividad.equals(other.idAvanceRecursoActividad))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "TableBean.AvanceRecursoActividad[ idAvanceRecursoActividad=" + idAvanceRecursoActividad + " ]";
    }
    
}
